"Todo: handle case

fun! MLT()
	exe (search(nr2char(getchar()),'bW')? 'norm! l' : '')
endfun
fun! MLF()
	call search(nr2char(getchar()),'bW')
endfun
fun! MLf()
	exe (search(nr2char(getchar()),'W')? 'norm! l' : '')
endfun
fun! MLt()
	call search(nr2char(getchar()),'W')
endfun
fun! MLnT()
	exe (search(nr2char(getchar()),'bW')? 'norm! l' : '')
endfun
fun! MLnF()
	call search(nr2char(getchar()),'bW')
endfun
fun! MLnt()
	exe (search(nr2char(getchar()),'W')? 'norm! h' : '')
endfun
fun! MLnf()
	call search(nr2char(getchar()),'W')
endfun

ono <silent> F :call MLF()<CR>
ono <silent> T :call MLT()<CR>
ono <silent> f :call MLf()<CR>
ono <silent> t :call MLt()<CR>
nn <silent> F :call MLnF()<CR>
nn <silent> T :call MLnT()<CR>
nn <silent> f :call search(nr2char(getchar()),'W')<CR>
nn <silent> t :exe (search(nr2char(getchar()),'W')? 'norm! h' : '')<CR>

"Test passage abcede dkdlkodsk jwisjsidjie 
"Test passage abcede dkdlkodsk jwisjsidjiePQRS
"Test passage abcede dkdlkodsk jwisjsidjie 
"Test passage abcede dkdlkodsk jwisjsidjie 
"Test passage abcede dkdlkodsk jwisjsidjie 
